iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
自我挑戰組

C語言與C++語言自學系列 第 5

C語言與C++語言自學第五天

  • 分享至 

  • xImage
  •  

C語言的計算平均

計算數值的平均就會提到整數和浮點數的差別

#include <stdio.h>
int main(){
    int num1,num2,num3;
    printf("Please enter the first integer: ");
    scanf("%d", &num1);
    printf("Please enter the second integer: ");
    scanf("%d", &num2);
    printf("please enter the third integer: ");
    scanf("%d", &num3);
    int average=(num1+num2+num3)/3;
    printf("Average %d\n", average);
    return 0;
}

上面的程式碼好像看似可以,但其中還有一些小錯誤,例如我輸入第一個數字3,第二個數字3,第三個數字4,平均應該是3.333333...,但是結果只有顯示3,因為我們是用整數的型別去輸出,下面的程式碼就是修改過的

#include <stdio.h>
int main(){
    int num1,num2,num3;
    printf("Please enter the first integer: ");
    scanf("%d", &num1);
    printf("Please enter the second integer: ");
    scanf("%d", &num2);
    printf("please enter the third integer: ");
    scanf("%d", &num3);
    double average=(num1+num2+num3)/3.;
    printf("Average %f\n", average);
    return 0;
}

首先我們看到%d他這邊就是整數的意思,所以我們要改成%f,那我們後面的average就不對了,所以我們上行的int average要改成double average也就是改成浮點數的型別,最後一點/3加/3.就能顯示出後面的小數點了
今天這題目最主要的是int和double型別的差異,當然double還有和float的差別,以float來說可以儲存4byte = 32bit是說最多可以存32個0or1,但不精準,double可以儲存8byte=64bit,所以說更精準更好

C++語言如何寫出產生1~19間的奇數

用while,while的語法只有一種,卻能變化出無窮無盡的用法,其中最常見的用途就是產生數列了

#include<iostream>
using namespace std;

int main()
{
    int i;

    i = 1;                      //A
    while( i<=19 )              //B
    {
        cout << i << " ";

        i = i+2;                //C
    }

    return 0;
}

**這題的解法相當簡單,我們要印出從一到十九的奇數,我們設立一個變數較i他從1開始,while條件達成時,他就會輸出i並且空一格,因為奇數之間的公差是2所以一直不斷的加,所以輸出到他大於19就停止```


上一篇
C語言與C++語言自學第四天
下一篇
C語言與C++語言自學第六天
系列文
C語言與C++語言自學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言